iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
0
自我挑戰組

用LeetCode來訓練大腦的邏輯思維系列 第 8

LeetCode 26. Remove Duplicates from Sorted Array

  • 分享至 

  • xImage
  •  

題目

Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

題意

給定一個排序過的陣列,移除重複的元素,回傳新的陣列長度,
不能建立新的陣列,空間複雜度為O(1)

Example 1:

Input: [1,1,2]
Output: 2

Example 2:

Input: [0,0,1,1,1,2,2,3,3,4]
Output: 5

解題步驟

i個元素與第i+1個元素若相等的話,移除第i+1個元素,再將i倒退。

Solution

var removeDuplicates = function(nums) {
    let i = 0;
    for (i; i < nums.length; i++) {
        if (nums[i] === nums[i + 1]) {
            nums.splice(i + 1, 1);
            i--;
        }
    }
    return i;
};

上一篇
LeetCode 20. Valid Parentheses
下一篇
LeetCode 28. Implement strStr()
系列文
用LeetCode來訓練大腦的邏輯思維30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言